package com.example.dao;

import com.example.entity.Products;
import com.example.entity.Params;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.springframework.stereotype.Repository;
import tk.mybatis.mapper.common.Mapper;

import java.util.List;

@Repository
public interface ProductsDao extends Mapper<Products> {

    /**
     * 按商品名称模糊查询（products 表）
     */
    @Select("SELECT * FROM products WHERE product_name LIKE CONCAT('%', #{name}, '%')")
    List<Products> findByName(@Param("name") String name);

    /**
     * 价格区间 / 名称等复合查询，建议在 XML 中实现复杂的动态 SQL
     */
    List<Products> findBySearch(@Param("params") Params params);

    /**
     * 查询库存低于某个值的商品（示例）
     */
    @Select("SELECT * FROM products WHERE stock <= #{threshold}")
    List<Products> findLowStock(@Param("threshold") Integer threshold);
}
